package com.cjm.one.webmanager.service.system;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cjm.one.model.base.BaseDeleteMoreVo;
import com.cjm.one.model.base.PasswordDto;
import com.cjm.one.model.system.dto.SysUserInfoDto;
import com.cjm.one.model.system.dto.SysUserInfoFromDto;
import com.cjm.one.model.system.entity.SysUserInfo;
import com.cjm.one.model.system.entity.SysUserRole;
import com.cjm.one.model.system.vo.SysUserInfoVo;

import java.util.List;

public interface SysUserInfoService {
    SysUserInfoVo getSysUserById(Long id);

    Boolean addSysUser(SysUserInfo sysUserInfo);


    Boolean deleteSysUser(Long id);

    Boolean updateSysUser(SysUserInfoDto sysUserInfoDto);

    Boolean updateSysUserPassword(PasswordDto passwordDto);

    Boolean updateSysUserStatus(SysUserInfoDto sysUserInfoDto);

    List<SysUserRole> getSysUserRole(Long userId);

    Page<SysUserInfoVo> getSysUserPage(SysUserInfoFromDto queryVo);

    BaseDeleteMoreVo deleteSysUserMore(List<Long> ids);

    Boolean resetPassword(PasswordDto passwordDto);


    SysUserInfo getLoginUser(String token);
}
